<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<link href="../style_vendas.css" rel="stylesheet" type="text/css" media="screen" />
</head>
<body style="color:#F00">
<?php
if($_GET['id']==NULL)
{
echo "Não identificamos seus dados.";
exit;
}
$idParticipante = $_GET['id'];
require_once "pagseguro/PagSeguroLibrary.php";
include('conecta.php');
include('phpfuncs.php');

$sql = "SELECT * FROM participantes WHERE id='".$idParticipante."' LIMIT 1";
$query = mysql_query($sql);
$resultado = mysql_fetch_assoc($query);
if(md5($resultado['email']) != $_GET['confirma'])
{
	echo "Não pudemos conferir seus dados.";
	exit;	
}
$nome = $resultado['nome'];
$email = $resultado['email'];
//$ddd = substr($filiado['telefone'], 1, 2);
//$telefone = substr($filiado['telefone'], 3, 12);
//$telefone= trataTelefone($telefone);
$idProduto = retornaProduto($resultado);
if($idProduto == 0)
{
	echo "Volte ao formulário e preencha todos os dados.";
	exit;	
}
$novatransacao = false;
$sql = "SELECT * FROM transacao WHERE idparticipante='".$idParticipante."'";
$transacoes = mysql_query($sql);
while ($linhatransacao = mysql_fetch_assoc($transacoes))
{
	if ($linhatransacao['status'] == 3 || $linhatransacao['status'] == 4 || $linhatransacao['status'] == 5)
	{
		echo "Você ja completou uma inscrição. Caso deseje alterar alguma opção, favor entrar em contato com o suporte EMEJ.";
		exit;
	}
	//ERRO-ERRO-ERRO-ERRO-ERRO-ERRO-ERRO-ERRO-ERRO-ERRO-ERRO-ERRO-ERRO-ERRO-ERRO-ERRO-ERRO-ERRO-ERRO-ERRO-ERRO-ERRO-ERRO-ERRO
//	elseif ($linhatransacao['status'] == 0 || $linhatransacao['status'] == 1 || $linhatransacao['status'] == 2)
//	{
//		if($linhatransacao['url']!=NULL || $linhatransacao['url']!=''){
//			if($idProduto == $linhatransacao['idproduto'])
//			{
//				echo "<meta http-equiv='Refresh' content='0; url=".$linhatransacao['url']."'>";
//				exit;
//			}
//		}
//	}
// o codigo acima utilizaria o mesmo idTransação, com o mesmo codigo do pagseguro ao acessar a mesma url, mas mesmo acessando
// a mesma url gera-se codigos do pagseguro diferentes, inviabilizando a economia de registros no banco de dados.
	//ERRO-ERRO-ERRO-ERRO-ERRO-ERRO-ERRO-ERRO-ERRO-ERRO-ERRO-ERRO-ERRO-ERRO-ERRO-ERRO-ERRO-ERRO-ERRO-ERRO-ERRO-ERRO-ERRO-ERRO
}

$sql = "SELECT * FROM produto WHERE id='".$idProduto."' LIMIT 1";
$query = mysql_query($sql);
$produto = mysql_fetch_assoc($query);

$naopodeprosseguir=false;//uso futuro
//PAREI AQUI!
if ($naopodeprosseguir==false)
{//criando a transação no BD
$total=0;//por enquanto até contarmos o carrinho
$statusCompleto = "<img src=\"../img/ps_waitpagseguro.gif\" border=\"0\" /> Aguardando PagSeguro";

$sqlTrans = "INSERT INTO transacao (idparticipante, idproduto, status) VALUES ('$idParticipante' , '$idProduto', '0')";
mysql_query($sqlTrans); //registra uma nova transacao no bd
$idtransacao = mysql_insert_id(); //pega o id da transacao no bd
$paymentRequest = new PagSeguroPaymentRequest();   //instanciando um obj de requisição de pagamento
//setando a moeda
$paymentRequest->setCurrency("BRL");
//1 = PAC, 2 = SEDEX, 3 = NOT_SPECIFIED
$paymentRequest->setShippingType(3);
//se o meu sistema tem uma ID para cada compra feita é usado este método para vincular seu ID a um objeto 'transação'. Isso provalmente vai vir de uma chave primaria do BD na tabela que criar para guardar as transações.
$paymentRequest->setReference($idtransacao);
$item = new  PagSeguroItem(); // objeto Item   //2 adiciono o produto na requisição
$item->setId($idProduto);
$item->setDescription($produto['descricao']);
$item->setQuantity(1);
$item->setAmount($produto['valor']);
$paymentRequest->addItem($item);
//dados do comprador
//parametros: Nome, email, DDD, telefone
$sender = new PagSeguroSender(); // objeto Sender
$sender->setName($nome);
$sender->setEmail($email);
//$sender->setPhone($ddd, $telefone);
$paymentRequest->setSender($sender);

/*
$paymentRequest->setSender(  
    'Plínio Garcia',   
    'plinio@tripecriacao.com.br',   
    '32',   
    '32323232'  
);
*/ 
//uso este método se eu nao quiser que estes dados sejam solicitados ao meu comprador no ambiente do pagseguro. Já passo via método para a API. Não vou usar no Carnadministrando
/*
$paymentRequest->setShippingAddress(
    '01452002',
    'Av. Brig. Faria Lima',
    '1384',
    'apto. 114',
    'Jardim Paulistano',
    'São Paulo',
    'SP',
    'BRA'
);
*/



//tipos de frete:

/* Obtendo credenciais definidas no arquivo de configuração */
$credentials = PagSeguroConfig::getAccountCredentials();

try {
   // fazendo a requisição a API do PagSeguro pra obter a URL de pagamento
$url = $paymentRequest->register($credentials);
// se a credencial estiver incorreta vai disparar uma exceção
} catch (PagSeguroServiceException $e) {
      //echo "<meta http-equiv='Refresh' content='0; url=http://www.carnadministrando.com.br/vendas/dadosInvalidos.php'>";
	echo "Erro: Dados inválidos.  <br/>"; echo" <a href='/index.php'> Voltar</a>";
	echo "código:";
    /*echo $e->getHttpStatus(); // imprime o código HTTP
    foreach ($e->getErrors() as $key => $error) {
        echo $error->getCode(); // imprime o código do erro
        echo $error->getMessage(); // imprime a mensagem do erro
    }*/
	echo $e->getFormatedMessage();
	$deuErro=1;
}
if($deuErro!=1){
	$sqlTrans = "UPDATE transacao SET url='$url' WHERE idtransacao='$idtransacao'";
	mysql_query($sqlTrans); //registra uma nova transacao no bd
	echo "<meta http-equiv='Refresh' content='0; url=$url'>";
}
}//fecha if ($naoprosseguir==false)
?>

</body>
</html>